Generating visualizations of facet values for facets defined over a collection of objects

ABSTRACT

Provided are a computer program product, system, and method for generating visualizations of facet values for facets defined over a collection of objects. The objects are processed to determine facet values for the objects for a specified facet. A first visualization is generated of representations of the determined facet values for the objects. User selection is received of one of the facet values represented in the generated first visualization. A determination is made of objects having the user selected facet value and a determination is made of at least one facet value for the specified facet for each of the determined objects having the selected facet value. A second visualization of representations of the determined at least one facet value is generated.

CROSS-REFERENCE TO RELATED APPLICATIONS

This application is a continuation of U.S. patent application Ser. No.13/461,650, filed on May 1, 2012, which patent application isincorporated herein by reference in its entirety.

BACKGROUND OF THE INVENTION 1. Field of the Invention

The present invention relates to a computer program product, system, andmethod for generating visualizations of facet values for facets definedover a collection of objects.

2. Description of the Related Art

Data and text analytics systems provide for the definition of dimensionsor facets for objects stored in a repository. A text analytics systemprocesses the objects to determine dimension or facet values from theobject content. The facet values may be determined from structuredfields in the object or by performing text mining of the object contentto determine attributes of the object, such as attributes of the text.In the current art, the user may display the facet values for the facetsdetermined for a collection of documents. Such visualizations generallyrender the results for one or two facets. Further, dashboards are usedto provide visualizations of several dimensions. The dashboards mayinclude various types of graphic controls for abstraction by users ofanalytics systems.

There is a need in the art for improved techniques for presentingvisualizations of facet values to users to improve the ability of usersto make cognitive associations among the objects based on their facets.

SUMMARY

Provided are a computer program product, system, and method forrendering information on facets associated with objects. The objects areprocessed to determine facet values for the objects for a specifiedfacet. A first visualization is generated of representations of thedetermined facet values for the objects. User selection is received ofone of the facet values represented in the generated firstvisualization. A determination is made of objects having the userselected facet value and a determination is made of at least one facetvalue for the specified facet for each of the determined objects havingthe selected facet value. A second visualization of representations ofthe determined at least one facet value is generated.

BRIEF DESCRIPTION OF THE DRAWINGS

FIG. 1 illustrates a computing environment in which embodiments areimplemented.

FIG. 2 illustrates an embodiment of object information.

FIG. 3 illustrates an embodiment of an index entry for a facet value.

FIG. 4 illustrates an embodiment of operations to provide avisualization of facet values for a user selected facet.

FIG. 5 illustrates an embodiment of operations to generatevisualizations of facet values for user selected facets and facetvalues.

FIG. 6 illustrates an embodiment of visualizations of facet values.

FIG. 7 illustrates an embodiment of a computing architecture.

DETAILED DESCRIPTION

Described embodiments provide visualizations of facet values for facetsassociated with objects in an object collection. A user may select oneor more facet values, and the facet values for the one or more userselected facets may be visualized in one or more display regions, suchas word clouds. There may be one defined display region to visualizefacet values for one of the facets, including the user specified facet.A user may select one or more facet values in the visualization to causea determination to be made of objects including the selected one or morefacet values. A determination is then made of the facet values in thedetermined objects for the one or more user selected facets to presentin a new visualization of facet values for the objects. The user maydrill down and select different facets and facet values for whichvisualizations of the facet values will be presented to the user in oneor more display regions. The described embodiments provide differentways to visualize facet values for objects to assist the user in makinguseful cognitive associations of the facet values for objects.

FIG. 1 illustrates an embodiment of a content analytics system 2 toprocess search requests from clients 4 over a network 6 for objects 8maintained in a repository 10. The objects 8 may comprise textualdocuments, multi-media content with textual metadata, a database, andother data. The content analytics system 2 includes a search index 11providing a listing of the content, such as words and text, in theobjects 8. The index 11 may provide entries for terms and content in theobjects 8 and indicate the objects 8 that include that indexed content.Further, the index 8 may include entries for facet values for facets ordimensions and indicate the objects 8 that are determined to have thefacet value. The content analytics system 2 further maintains objectinformation 24 having information on the objects 8 in the repository 10.

An object processor 12 includes an indexer 14 to crawl the objects 8 toperform the indexing to generate the index 11. The object processor 12may further include a text miner 16 to apply text analytics to theobjects 8 to determine facet values for facets or dimensions associatedwith the objects 8 in a collection. The text miner 16 may determinefacet values for facets from structured data fields in the objects 8 orpopulated with information from the object content 6, such as the text,media, etc. Text analytics provides techniques to convert textual datainto structured data by extracting information from the text, e.g.,person names, addresses, etc. and classifying content into categoriesbased on the text and content referred to as facets. A facet maycomprise a specific type of information to be determined from the object8. The facet value may comprise an instance of text or content in theobject 8 of the facet type or may be determined by mining the object 8content. For instance, if the facet is nouns, then the facet valueswould comprise all nouns in the object 8. If the facet is a date, thenthe facet values would comprise all dates and date ranges mentioned inthe object 8. If the facet concerned an automobile type, then the facetvalue would comprise all automobile types mentioned in the object 8.Facets may comprise dimensions or classifications such that the facetvalues for the facets are determined by processing the object 8 usingtext analytics and data mining techniques. For instance, the facet maycomprise a tone of content in the object determined by text analytics,which processes the text to determine whether the tone (facet value) ishostile, humorous, angry, remorseful, sad, etc.

The text miner 14 may comply with the Unstructured InformationManagement Architecture (UIMA), and include such annotators as alanguage identification annotator to identify the language of eachobject 8; a linguistic analysis annotator to apply linguistic analysisto the objects 8; a dictionary lookup annotator to match words andsynonyms from a dictionary with words in the content of the objects 8and to associate keywords with user-defined facets; a named entityrecognition annotator to extract person names, locations, and companynames.

A search processor 18 receives search requests from a user interface 20of the client 4 objects satisfying certain criteria, such as objects 8having facet values for user selected facets and/or facet values. Thesearch processor 18 may use the index 11 to determine objects 8 havingfacet values that satisfy a user selected facet or facet value. Thesearch processor 18 may use the index 11 to determine facet values torepresent in a visualization of facet values to return to the clientuser interface 20. The search processor 18 may generate a search resultpage 22 providing a visualization of the facet values for a specifiedone or more facets. The visualization may comprise a word cloud, panel,dashboard, box, etc., including representations of the determined facetvalues satisfying the search criteria.

The repository 10 may comprise one or more storage devices known in theart, such as interconnected hard disk drives (e.g., configured as aDASD, RAID, JBOD, etc.), solid state storage devices (e.g., EEPROM(Electrically Erasable Programmable Read-Only Memory), flash memory,flash disk, storage-class memory (SCM)), electronic memory, magnetictape media, tape cartridges, etc. The components of the contentanalytics system 12, 14, 16, and 18 may comprise software programs in amemory executed by a processor. In an alternative embodiment, someportion or all of the programs may be implemented in a hardwarecomponent, such as a dedicated integrated circuit, e.g., ApplicationSpecific Integrated Circuit (ASIC), expansion card, etc.

FIG. 2 illustrates an embodiment of object information 50 for one of theobjects 8 in the object information 24 including an object identifier(ID) 52 and one or more facet/facet value pairs 54, each providing oneor more facet values for a facet.

FIG. 3 illustrates an embodiment of an index entry 70 for facet valuesin the index 11, where the index entry indicates a facet 72, a facetvalue 74 for the facet 72 and one or more objects 76 that have the facetvalue 74 for the facet 72. The index 11 may further include entries 70for content instances in the objects, to provide for each contentinstance, such as text, the objects that include that content instance.

FIG. 4 illustrates an embodiment of operations performed by the searchprocessor 18, or other component of the content analytics system 2, togenerate facet search results for a client 4. Upon receiving (at block100) user selection to initiate a facet query from one of the clients 4,the search processor 18 returns (at block 102) a list of a plurality offacets for the objects 8 to the client user interface 20. Upon receiving(at block 104) user selection of at least one of the facets in the list,the search processor 18 performs a loop (at blocks 106-118) of theoperations at blocks 108 through 116 for each specified facet (f_(i))that the user selected, which comprises one or more of the facets. Thesearch processor 18 processes (at block 108) the objects 8 to determinefacet values for the objects for the specified facet (f_(i)) for thoseobjects having a value for the specified facet (f_(i)) 72. The index 11may be processed to find index entries 70 for facet values 74 for thespecified facet 72, and then the objects 8 having those facet values aredetermined from field 76 of the index entries 74 for the facet values 74of the specified facet (f_(i)).

The search processor 18 may determine (at block 110) a frequency of thedetermined facet values for the specified facet (f_(i)) in the objects8. The text miner 16 may determine (at block 112) correlation values ofthe determined facet values for the specified facet (f_(i)) with facetvalues for the other facets (if any) in the objects 8. The correlationvalues may indicate how two facets correlate with one another.Correlation values between different facet values may be determinedusing content analytics. The search processor 18 generates (at block114) a visualization (V_(i)) of the determined facet values for theobjects for the specified facet (f_(i)) in a defined display region,such as a word cloud. The appearances of the facet values in the displayregion may be varied based on the correlation values and frequencies ofthe facet values. For instance, more frequently occurring facet valuesin the objects 8 may be displayed in a larger font relative to lessfrequently occurring facet values and facet values having highercorrelation values for correlation with other facet values for otherfacets may be displayed in darker shades of a color, such as more bold,than facet values having lower correlation values. In this way, theappearance of the displayed facet values may be varied along twodimensions, color and font size, to visually indicate the frequency andcorrelation of those facet values. After generating the visualization(V_(i)), control proceeds (at block 116) back to block 106 if there arefurther specified facets (f_(i)) for which to generate visualizations orproceeds to block 118 if all specified facets have been considered. Thegenerated visualizations may comprise code providing an implementationof the visualizations and/or graphics output rendered in a memory orstorage of the content analytics system 2.

After generating defined display regions for the visualizations (V_(i))for the different facets (f_(i)), the search processor 18 may generate(at block 118) a search result page 2 including the defined regions withthe visualizations of the determined facet values and return (at block120) the search result page 22 to the client user interface 20. Thesearch result page 22 may indicate for each visualization (V_(i)) in adefined display region the specified facet for which the facet values inare generated.

FIG. 5 illustrates an embodiment of operations performed by the searchprocessor 18, or other component of the content analytics system 2, inresponse to a user at the user interface 20 selecting one or more of thefacet values from one of the visualizations displayed in a defineddisplay region of a previously returned search result page 22, whichpreviously returned search result page may be generated according to theoperations of FIG. 4 or FIG. 5. Upon receiving (at block 150) userselection of at least one of the facet values from one of the at leastone selected visualizations (V_(s)) displayed in a defined displayregion in a previously returned search result page 22, the searchprocessor 18 determines (at block 152) whether the visualization (V_(s))from which the facet value(s) were selected is based on previouslyselected facet values, such as the facet values are from documents thatinclude previously selected user facet values. The search processor 18determines (at block 154) objects 8 having the current user selected atleast one facet value from the selected visualization (V_(s)) and anypreviously selected facet values, such that all the facet values in theselected visualization (V_(s)) are from objects having the previouslyselected facet values that resulted in the visualization (V_(s)). Theindex 11 may be processed to find index entries 70 having the userselected and previously selected facet values in field 74, and then theobjects 8 having those facet values comprise the objects that arepresent in all the index entries 70 for the user selected facet values(previous and current). Objects present in less than all the indexentries for the user selected facet values would not satisfy the ANDcondition and may not be returned.

The search processor 18 may generate (at block 156) a new search resultpage 22 including a list of hyperlinks representing the objects 8 havingthe at least one selected value and any previously selected facetvalues. The user may access the user interface 20 to select thehyperlinks to render the content of the objects 8 upon selection of thehyperlinks representing the selected objects 8.

The search processor 18 may perform (at block 158) the operations atblocks 106 through 116 in FIG. 4 for the determined objects having theuser selected at least one value, and any previously selected facetvalues, to determine facet values in the determined objects for thespecified facets and generate visualizations in defined display regionsfor the specified facets representing the determined facet values. Eachof the defined display regions, e.g., word clouds, may display facetvalues for one of the visualizations for one of the facets. The defineddisplay regions with the visualizations of the determined facet valuesmay be generated (at block 160) in the new search result page 22, whichis returned (at block 162) to the client user interface 20 to render forthe user at the user interface 20 to select objects form the hyperlinksand select new facet values in the defined display region in the searchresult page 22 to cause the performing of another iteration of theoperations of FIG. 5 for newly selected facet values from the defineddisplay region in the search result page.

In the operations of FIGS. 4 and 5, if there are multiple visualizationsfor different facets, then the user may select facet values fromdifferent display regions for different facets, and the search processor18 would determine objects having the selected facet values fordifferent facets to be used to determine facet values for the one ormore defined display regions being generated for the new visualizations.Further, after receiving a search result page, the user may continue toselect further facet values to perform another iteration of theoperations of FIG. 5 to further refine the set of objects used togenerate the visualization, and provide a more focused visualization.

FIG. 6 illustrates an example of a template 200 displaying multipledefined display regions 202, 204, 206, 208 for different visualizationsfor different facets, including a nouns, verbs, adjectives and adverbfacets which renders all facet values from objects having the userspecified facet values. The display regions 202, 204, 206, 208 maycomprise the first generated display regions according to FIG. 4 or asubsequently generated display region based on current and previous userselected facet values according to the operations of FIG. 5. Further, inthe embodiment of FIG. 6, for each defined display region 202, 204, 206,208, a user entered stop word list 210, 212, 214, 216 or remove wordlist is provided to allow the user to specify words that will not beincluded in the visualized facet values.

Described embodiments provide methods, systems, and computer programproducts to provide a visualization of facet values for one or more userselected facets that are associated with objects. The facet values forthe one or more user selected facets may be visualized in one or moredisplay regions. A user may select one or more facet values in thevisualization to cause a determination to be made of objects includingthe selected one or more facet values. A determination is then made ofthe facet values in the determined objects for the one or more userselected objects to present in a new visualization of facet values forthe objects.

Described embodiments provide a visualization of facet values associatedwith objects by displaying the facet values in the objects for differentfacets in different display regions, such as different word clouds. Incertain embodiments, a matrix of word clouds is used to represent facetsand dimensions for visualization. This presents a large amount of datafrom several different facets in a compact view, allowing the humanbrain to scan the represented facet values to discover insights or todrill-down into a facet or dimension to see how the other facets changebased on the query. Since text mining is heavily dependent on the wordsused in a corpus, word clouds are useful to visualize the results oftext mining and text analytics applications. Described embodiments allowthe user to visualize the most important words across many differentfacets of the data (e.g., parts of speech). Increasing the number ofdefined display regions, such as word clouds or sub-clouds, increasesthe ability to visualize the important facet values for differentfacets.

Described embodiments further increase the opportunity for cognitiveinsight based on the human brain's ability to quickly make connectionsbetween visual elements by presenting facet values in defined displayregions for different facets with the ability to drill down by selectingkeywords or phrases, and by regenerating the visualization to have theuser selected facet values reflected immediately in the display regions(word clouds) for all visualized facets. Described embodiments areparticularly useful for text analytics, especially when facets ordimensions from linguistic and concept analysis are rendered along withother facets which are extracted facts or metadata.

The described operations may be implemented as a method, apparatus orcomputer program product using standard programming and/or engineeringtechniques to produce software, firmware, hardware, or any combinationthereof. Accordingly, aspects of the embodiments may take the form of anentirely hardware embodiment, an entirely software embodiment (includingfirmware, resident software, micro-code, etc.) or an embodimentcombining software and hardware aspects that may all generally bereferred to herein as a “circuit,” “module” or “system.” Furthermore,aspects of the embodiments may take the form of a computer programproduct embodied in one or more computer readable medium(s) havingcomputer readable program code embodied thereon.

Any combination of one or more computer readable medium(s) may beutilized. The computer readable medium may be a computer readable signalmedium or a computer readable storage medium. A computer readablestorage medium may be, for example, but not limited to, an electronic,magnetic, optical, electromagnetic, infrared, or semiconductor system,apparatus, or device, or any suitable combination of the foregoing. Morespecific examples (a non-exhaustive list) of the computer readablestorage medium would include the following: an electrical connectionhaving one or more wires, a portable computer diskette, a hard disk, arandom access memory (RAM), a read-only memory (ROM), an erasableprogrammable read-only memory (EPROM or Flash memory), an optical fiber,a portable compact disc read-only memory (CD-ROM), an optical storagedevice, a magnetic storage device, or any suitable combination of theforegoing. In the context of this document, a computer readable storagemedium may be any tangible medium that can contain or store a programfor use by or in connection with an instruction execution system,apparatus, or device.

A computer readable signal medium may include a propagated data signalwith computer readable program code embodied therein, for example, inbaseband or as part of a carrier wave. Such a propagated signal may takeany of a variety of forms, including, but not limited to,electro-magnetic, optical, or any suitable combination thereof. Acomputer readable signal medium may be any computer readable medium thatis not a computer readable storage medium and that can communicate,propagate, or transport a program for use by or in connection with aninstruction execution system, apparatus, or device.

Program code embodied on a computer readable medium may be transmittedusing any appropriate medium, including but not limited to wireless,wireline, optical fiber cable, RF, etc., or any suitable combination ofthe foregoing.

Computer program code for carrying out operations for aspects of thepresent invention may be written in any combination of one or moreprogramming languages, including an object oriented programming languagesuch as Java, Smalltalk, C++ or the like and conventional proceduralprogramming languages, such as the “C” programming language or similarprogramming languages. The program code may execute entirely on theuser's computer, partly on the user's computer, as a stand-alonesoftware package, partly on the user's computer and partly on a remotecomputer or entirely on the remote computer or server. In the latterscenario, the remote computer may be connected to the user's computerthrough any type of network, including a local area network (LAN) or awide area network (WAN), or the connection may be made to an externalcomputer (for example, through the Internet using an Internet ServiceProvider).

Aspects of the present invention are described above with reference toflowchart illustrations and/or block diagrams of methods, apparatus(systems) and computer program products according to embodiments of theinvention. It will be understood that each block of the flowchartillustrations and/or block diagrams, and combinations of blocks in theflowchart illustrations and/or block diagrams, can be implemented bycomputer program instructions. These computer program instructions maybe provided to a processor of a general purpose computer, specialpurpose computer, or other programmable data processing apparatus toproduce a machine, such that the instructions, which execute via theprocessor of the computer or other programmable data processingapparatus, create means for implementing the functions/acts specified inthe flowchart and/or block diagram block or blocks.

These computer program instructions may also be stored in a computerreadable medium that can direct a computer, other programmable dataprocessing apparatus, or other devices to function in a particularmanner, such that the instructions stored in the computer readablemedium produce an article of manufacture including instructions whichimplement the function/act specified in the flowchart and/or blockdiagram block or blocks.

The computer program instructions may also be loaded onto a computer,other programmable data processing apparatus, or other devices to causea series of operational steps to be performed on the computer, otherprogrammable apparatus or other devices to produce a computerimplemented process such that the instructions which execute on thecomputer or other programmable apparatus provide processes forimplementing the functions/acts specified in the flowchart and/or blockdiagram block or blocks.

The terms “an embodiment”, “embodiment”, “embodiments”, “theembodiment”, “the embodiments”, “one or more embodiments”, “someembodiments”, and “one embodiment” mean “one or more (but not all)embodiments of the present invention(s)” unless expressly specifiedotherwise.

The terms “including”, “comprising”, “having” and variations thereofmean “including but not limited to”, unless expressly specifiedotherwise.

The enumerated listing of items does not imply that any or all of theitems are mutually exclusive, unless expressly specified otherwise.

The terms “a”, “an” and “the” mean “one or more”, unless expresslyspecified otherwise.

Devices that are in communication with each other need not be incontinuous communication with each other, unless expressly specifiedotherwise. In addition, devices that are in communication with eachother may communicate directly or indirectly through one or moreintermediaries.

A description of an embodiment with several components in communicationwith each other does not imply that all such components are required. Onthe contrary a variety of optional components are described toillustrate the wide variety of possible embodiments of the presentinvention.

Further, although process steps, method steps, algorithms or the likemay be described in a sequential order, such processes, methods andalgorithms may be configured to work in alternate orders. In otherwords, any sequence or order of steps that may be described does notnecessarily indicate a requirement that the steps be performed in thatorder. The steps of processes described herein may be performed in anyorder practical. Further, some steps may be performed simultaneously.

When a single device or article is described herein, it will be readilyapparent that more than one device/article (whether or not theycooperate) may be used in place of a single device/article. Similarly,where more than one device or article is described herein (whether ornot they cooperate), it will be readily apparent that a singledevice/article may be used in place of the more than one device orarticle or a different number of devices/articles may be used instead ofthe shown number of devices or programs. The functionality and/or thefeatures of a device may be alternatively embodied by one or more otherdevices which are not explicitly described as having suchfunctionality/features. Thus, other embodiments of the present inventionneed not include the device itself.

The illustrated operations of the figures show certain events occurringin a certain order. In alternative embodiments, certain operations maybe performed in a different order, modified or removed. Moreover, stepsmay be added to the above described logic and still conform to thedescribed embodiments. Further, operations described herein may occursequentially or certain operations may be processed in parallel. Yetfurther, operations may be performed by a single processing unit or bydistributed processing units.

The elements of the computing environment of FIG. 1, including theobject processor 12, search processor 18, indexer 14, and text miner 16may be implemented in one or more computer systems, such as the computersystem 302 shown in FIG. 7. Computer system/server 302 may be describedin the general context of computer system executable instructions, suchas program modules, being executed by a computer system. Generally,program modules may include routines, programs, objects, components,logic, data structures, and so on that perform particular tasks orimplement particular abstract data types. Computer system/server 302 maybe practiced in distributed cloud computing environments where tasks areperformed by remote processing devices that are linked through acommunications network. In a distributed cloud computing environment,program modules may be located in both local and remote computer systemstorage media including memory storage devices.

As shown in FIG. 7, the computer system/server 302 is shown in the formof a general-purpose computing device. The components of computersystem/server 302 may include, but are not limited to, one or moreprocessors or processing units 304, a system memory 306, and a bus 308that couples various system components including system memory 306 toprocessor 304. Bus 308 represents one or more of any of several types ofbus structures, including a memory bus or memory controller, aperipheral bus, an accelerated graphics port, and a processor or localbus using any of a variety of bus architectures. By way of example, andnot limitation, such architectures include Industry StandardArchitecture (ISA) bus, Micro Channel Architecture (MCA) bus, EnhancedISA (EISA) bus, Video Electronics Standards Association (VESA) localbus, and Peripheral Component Interconnects (PCI) bus.

Computer system/server 302 typically includes a variety of computersystem readable media. Such media may be any available media that isaccessible by computer system/server 302, and it includes both volatileand non-volatile media, removable and non-removable media.

System memory 306 can include computer system readable media in the formof volatile memory, such as random access memory (RAM) 310 and/or cachememory 312. Computer system/server 302 may further include otherremovable/non-removable, volatile/non-volatile computer system storagemedia. By way of example only, storage system 313 can be provided forreading from and writing to a non-removable, non-volatile magnetic media(not shown and typically called a “hard drive”). Although not shown, amagnetic disk drive for reading from and writing to a removable,non-volatile magnetic disk (e.g., a “floppy disk”), and an optical diskdrive for reading from or writing to a removable, non-volatile opticaldisk such as a CD-ROM, DVD-ROM or other optical media can be provided.In such instances, each can be connected to bus 308 by one or more datamedia interfaces. As will be further depicted and described below,memory 306 may include at least one program product having a set (e.g.,at least one) of program modules that are configured to carry out thefunctions of embodiments of the invention.

Program/utility 314, having a set (at least one) of program modules 316,may be stored in memory 306 by way of example, and not limitation, aswell as an operating system, one or more application programs, otherprogram modules, and program data. Each of the operating system, one ormore application programs, other program modules, and program data orsome combination thereof, may include an implementation of a networkingenvironment. The components of the computer 2 may be implemented asprogram modules 316 which generally carry out the functions and/ormethodologies of embodiments of the invention as described herein. Thecomponents 12, 14, 16, and 18 of the content analytics system 2 may beimplemented in one or more computer systems 302, where if they areimplemented in multiple computer systems 302, then the computer systemsmay communicate over a network.

Computer system/server 302 may also communicate with one or moreexternal devices 318 such as a keyboard, a pointing device, a display320, etc.; one or more devices that enable a user to interact withcomputer system/server 12; and/or any devices (e.g., network card,modem, etc.) that enable computer system/server 302 to communicate withone or more other computing devices. Such communication can occur viaInput/Output (I/O) interfaces 322. Still yet, computer system/server 302can communicate with one or more networks such as a local area network(LAN), a general wide area network (WAN), and/or a public network (e.g.,the Internet) via network adapter 324. As depicted, network adapter 324communicates with the other components of computer system/server 302 viabus 308. It should be understood that although not shown, other hardwareand/or software components could be used in conjunction with computersystem/server 302. Examples, include, but are not limited to: microcode,device drivers, redundant processing units, external disk drive arrays,RAID systems, tape drives, and data archival storage systems, etc.

The flowchart and block diagrams in the Figures illustrate thearchitecture, functionality, and operation of possible implementationsof systems, methods and computer program products according to variousembodiments of the present invention. In this regard, each block in theflowchart or block diagrams may represent a module, segment, or portionof code, which comprises one or more executable instructions forimplementing the specified logical function(s). It should also be notedthat, in some alternative implementations, the functions noted in theblock may occur out of the order noted in the figures. For example, twoblocks shown in succession may, in fact, be executed substantiallyconcurrently, or the blocks may sometimes be executed in the reverseorder, depending upon the functionality involved. It will also be notedthat each block of the block diagrams and/or flowchart illustration, andcombinations of blocks in the block diagrams and/or flowchartillustration, can be implemented by special purpose hardware-basedsystems that perform the specified functions or acts, or combinations ofspecial purpose hardware and computer instructions.

The foregoing description of various embodiments of the invention hasbeen presented for the purposes of illustration and description. It isnot intended to be exhaustive or to limit the invention to the preciseform disclosed. Many modifications and variations are possible in lightof the above teaching. It is intended that the scope of the invention belimited not by this detailed description, but rather by the claimsappended hereto. The above specification, examples and data provide acomplete description of the manufacture and use of the composition ofthe invention. Since many embodiments of the invention can be madewithout departing from the spirit and scope of the invention, theinvention resides in the claims herein after appended.

1-21. (canceled)
 22. A computer program product for renderinginformation on facet values of facet types in objects, the computerprogram product comprising a non-transitory computer readable storagemedium having computer readable program code embodied therein capable ofbeing executed to perform operations comprising: generating a firstvisualization in a user interface including a plurality of displayregions for different facets to render in each display region of thedisplay regions representations of facet values in the objects of thefacet corresponding to the display region; receiving selection facetvalues represented in multiple of the display regions in the firstvisualization; determining at least one object of the objects having theselected facet values; generating a second visualization in the userinterface including display regions for the facets having the selectedfacet values; and rendering, in each display region of the displayregions in the second visualization, representations of facet values ofthe facet associated with the display region that are included in thedetermined at least one object having the selected facet values.
 23. Thecomputer program product of claim 22, wherein the operations furthercomprise: receiving second selection of a facet value comprising one ofthe facet values represented in the display regions of the secondvisualization; determining at least one object having the facet valuesselected in the first and the second visualizations; and generating athird visualization in the user interface including display regions forthe facets for which the facet values were selected in the first and thesecond visualizations; and rendering, in each display region of thedisplay regions in the third visualization, representations of facetvalues of the facet associated with the display region that are includedin the determined at least one object having the selected facet valuesselected in the first and the second visualizations.
 24. The computerprogram product of claim 22, wherein the operations further comprise:generating a search result page having a hyperlink representing each ofthe determined at least one object having the selected facet values toenable a user to render an object represented by a selected hyperlink.25. The computer program product of claim 22, wherein the operationsfurther comprise: determining facet values in the determined at leastone object; and determining a frequency of the determined facet values,wherein the facet values are rendered in a third visualization with anappearance based on the frequency of the facet values in the objects.26. The computer program product of claim 22, wherein the operationsfurther comprise: determining facet values in the determined at leastone object; and determining correlation values of the determined facetvalues with facet values of other facets indicating how facets correlatewith one another, wherein the facet values are rendered in the thirdvisualization with an appearance based on the correlation values of thefacet values in the objects.
 27. The computer program product of claim22, wherein the display regions in the first and second visualizationsare rendered in separate non-overlapping defined regions of the userinterface.
 28. The computer program product of claim 22, wherein thedisplay regions comprise word clouds.
 29. A system for renderinginformation on facet values of facet types in objects in a repository,comprising: a processor; and a computer readable storage medium havingcode executed by the processor to perform operations, the operationscomprising: generating a first visualization in a user interfaceincluding a plurality of display regions for different facets to renderin each display region of the display regions representations of facetvalues in the objects of the facet corresponding to the display region;receiving selection facet values represented in multiple of the displayregions in the first visualization; determining at least one object ofthe objects having the selected facet values; generating a secondvisualization in the user interface including display regions for thefacets having the selected facet values; and rendering, in each displayregion of the display regions in the second visualization,representations of facet values of the facet associated with the displayregion that are included in the determined at least one object havingthe selected facet values.
 30. The system of claim 29, wherein theoperations further comprise: receiving second selection of a facet valuecomprising one of the facet values represented in the display regions ofthe second visualization; determining at least one object having thefacet values selected in the first and the second visualizations; andgenerating a third visualization in the user interface including displayregions for the facets for which the facet values were selected in thefirst and the second visualizations; and rendering, in each displayregion of the display regions in the third visualization,representations of facet values of the facet associated with the displayregion that are included in the determined at least one object havingthe selected facet values selected in the first and the secondvisualizations.
 31. The system of claim 29, wherein the operationsfurther comprise: generating a search result page having a hyperlinkrepresenting each of the determined at least one object having theselected facet values to enable a user to render an object representedby a selected hyperlink.
 32. The system of claim 29, wherein theoperations further comprise: determining facet values in the determinedat least one object; and determining a frequency of the determined facetvalues, wherein the facet values are rendered in a third visualizationwith an appearance based on the frequency of the facet values in theobjects.
 33. The system of claim 29, wherein the operations furthercomprise: determining facet values in the determined at least oneobject; and determining correlation values of the determined facetvalues with facet values of other facets indicating how facets correlatewith one another, wherein the facet values are rendered in the thirdvisualization with an appearance based on the correlation values of thefacet values in the objects.
 34. The system of claim 29, wherein thedisplay regions in the first and second visualizations are rendered inseparate non-overlapping defined regions of the user interface.
 35. Thesystem of claim 29, wherein the display regions comprise word clouds.36. The system of claim 35, wherein the display regions in the first andsecond visualizations are rendered in separate non-overlapping definedregions of the user interface.
 37. A method for rendering information onfacet values of facet types in objects, comprising: generating a firstvisualization in a user interface including a plurality of displayregions for different facets to render in each display region of thedisplay regions representations of facet values in the objects of thefacet corresponding to the display region; receiving selection facetvalues represented in multiple of the display regions in the firstvisualization; determining at least one object of the objects having theselected facet values; generating a second visualization in the userinterface including display regions for the facets having the selectedfacet values; and rendering, in each display region of the displayregions in the second visualization, representations of facet values ofthe facet associated with the display region that are included in thedetermined at least one object having the selected facet values.
 38. Themethod of claim 37, further comprising: receiving second selection of afacet value comprising one of the facet values represented in thedisplay regions of the second visualization; determining at least oneobject having the facet values selected in the first and the secondvisualizations; and generating a third visualization in the userinterface including display regions for the facets for which the facetvalues were selected in the first and the second visualizations; andrendering, in each display region of the display regions in the thirdvisualization, representations of facet values of the facet associatedwith the display region that are included in the determined at least oneobject having the selected facet values selected in the first and thesecond visualizations.
 39. The method of claim 37, further comprising:generating a search result page having a hyperlink representing each ofthe determined at least one object having the selected facet values toenable a user to render an object represented by a selected hyperlink.40. The method of claim 37, further comprising: determining facet valuesin the determined at least one object; and determining a frequency ofthe determined facet values, wherein the facet values are rendered in athird visualization with an appearance based on the frequency of thefacet values in the objects.
 41. The method of claim 37, furthercomprising: determining facet values in the determined at least oneobject; and determining correlation values of the determined facetvalues with facet values of other facets indicating how facets correlatewith one another, wherein the facet values are rendered in the thirdvisualization with an appearance based on the correlation values of thefacet values in the objects.
 42. The method of claim 37, wherein thedisplay regions in the first and second visualizations are rendered inseparate non-overlapping defined regions of the user interface andcomprise word clouds.